using System;

namespace Runtime.DesignPattern
{
    public interface IEvent<TData>
    {
        string EventType { get; }
        TData EventData { get; }
        DateTime Timestamp { get; }
        string SourceId { get; }
        string TargetId { get; }
    }

    // 为了向后兼容，保留非泛型接口
    public interface IEvent : IEvent<object>
    {
    }
}